package cn.lg.soar.boot.fc.dao.impl;

import cn.lg.soar.boot.fc.dao.FcFormCollectDetailDao;
import cn.lg.soar.boot.fc.dao.FcFormCollectDetailRepository;
import cn.lg.soar.boot.fc.pojo.FcFormCollectDetail;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Example;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.stereotype.Component;

import java.util.List;
import java.util.Optional;

@Component
public class FcFormCollectDetailDaoImpl implements FcFormCollectDetailDao {

	@Autowired
	private FcFormCollectDetailRepository repository;

	/**
	 * 新增信息
	 * @return
	 */
	@Override
	public void save(FcFormCollectDetail fcFormCollectDetail) {
		repository.save(fcFormCollectDetail);
	}

	/**
	 * 查询所有信息
	 * @return
	 */
	@Override
	public List<FcFormCollectDetail> findAll() {
		List<FcFormCollectDetail> list = repository.findAll();
		return list;
	}

	/**
	 * 根据条件查询列表
	 * @return
	 */
	@Override
	public List<FcFormCollectDetail> findList(FcFormCollectDetail FcFormCollectDetail) {
		Example<FcFormCollectDetail> example = Example.of(FcFormCollectDetail);
		List<FcFormCollectDetail> list = repository.findAll(example);
		return list;
	}

//	/**
//	 * 根据条件查询列表
//	 * @return
//	 */
//	@Override
//	public PageResult<FcFormCollectDetail> findPageList(JwFormCollectDetailQueryForm jwFormCollectDetailQueryForm) {
//		Page<?> page = SmartPageUtil.convert2PageQuery(jwFormCollectDetailQueryForm);
//		FcFormCollectDetail FcFormCollectDetail = SmartBeanUtil.copy(jwFormCollectDetailQueryForm, FcFormCollectDetail.class);
//		Example<FcFormCollectDetail> example = Example.of(FcFormCollectDetail);
//		Pageable pageable = PageRequest.of(Integer.valueOf(jwFormCollectDetailQueryForm.getPageNum().toString())-1,Integer.valueOf(jwFormCollectDetailQueryForm.getPageSize().toString()));
//		org.springframework.data.domain.Page<FcFormCollectDetail> list = repository.findAll(example, pageable);
//		PageResult<FcFormCollectDetail> pageResult = SmartPageUtil.convert2PageResult(page, list.getContent());
//		pageResult.setTotal(list.getTotalElements());
//		return pageResult;
//	}

    /**
     * 根据id查询所有信息
     * @param id
     */
    @Override
    public void deleteById(String id) {
		repository.deleteById(id);
    }

	/**
	 * 根据id查询所有信息
	 * @param ids
	 */
	@Override
	public void deleteByIds(String ids) {
		String[] idArr = ids.split(",");
		for (String id : idArr) {
			repository.deleteById(id);
		}
	}

	/**
	 * 根据id查询所有信息
	 * @param id
	 */
	@Override
	public FcFormCollectDetail findById(String id) {
		Optional<FcFormCollectDetail> enrollmentPlan = repository.findById(id);
		return enrollmentPlan.get();
	}

}
